#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
  long long maximumSubarraySum(vector<int> &nums, int k)
  {
    int n = nums.size();
    unordered_map<int, int> cnt;
    long long ans = 0, tmp = 0;
    for (int i = 0; i < n; i++)
    {
      cnt[nums[i]] += 1;
      tmp += nums[i];
      if (i >= k)
      {
        tmp -= nums[i - k];
        if (--cnt[nums[i - k]] <= 0)
          cnt.erase(nums[i - k]);
      }
      if (i >= k - 1 && cnt.size() == k)
        ans = max(ans, tmp);
    }
    return ans;
  }
};
int main()
{
  Solution s;

  return 0;
}
